Description: Given an input string (s) and a pattern (p), implement regular expression matching with support for ‘.’ and ‘‘. ‘.’ Matches any single character. ‘‘ Matches zero or more of the preceding element. The matching should cover the entire input string (not partial).
Note: s could be empty and contains only lowercase letters a-z. p could be empty and contains only lowercase letters a-z, and characters like . or *.
Example 1:
Input:
s = “aa” p = “a”
Output: false Explanation: “a” does not match the entire string “aa”.
Example 2:
Input:
s = “aa” p = “a*”
Output: true Explanation: ‘*’ means zero or more of the precedeng element, ‘a’. Therefore, by repeating ‘a’ once, it becomes “aa”.
Example 3:
Input:
s = “ab” p = “.*”
Output: true Explanation: “.*” means “zero or more (*) of any character (.)”.
Example 4:
Input:
s = “aab” p = “cab”
Output: true Explanation: c can be repeated 0 times, a can be repeated 1 time. Therefore it matches “aab”.
Example 5:
Input:
s = “mississippi” p = “misis*p.”
Output: false
原题翻译
描述: 给定一个字符串 (s) 和一个字符模式 (p)。实现支持 ‘.’ 和 ‘‘ 的正则表达式匹配。 ‘.’ 匹配任意单个字符。 ‘‘ 匹配零个或多个前面的元素。 匹配应该覆盖整个字符串 (s) ,而不是部分字符串。
另外: s 可能为空,且只包含从 a-z 的小写字母。 p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。